package com.neusoft.neuiotms.dcam.fixed.service;

import java.io.OutputStream;
import java.util.List;
import java.util.Map;

import org.apache.poi.ss.usermodel.Workbook;

import com.neusoft.bizcore.web.support.Searchable;

public interface AssetStatsService {

    /**
     * 固定资产/低值易耗品/消耗品统计
     *
     * @param category
     * @param tmeDim
     * @param searchable
     * @return
     */
    List<Map<String, Object>> commonStats(String category, String tmeDim, Searchable searchable);

    /**
     * 固定资产/低值易耗品/消耗品导出Excel
     *
     * @param category
     * @param tmeDim
     * @param searchable
     * @return
     */
    Workbook exportCommonStats(String category, String tmeDim, Searchable searchable);

    void exportCommonStatsPdf(String category, String tmeDim, Searchable searchable, OutputStream os);

    /**
     * 使用人资产统计
     *
     * @param searchable
     * @return
     */
    List<Map<String, Object>> personalStats(Searchable searchable);

    /**
     * 导出使用人资产统计Excel
     *
     * @param searchable
     * @return
     */
    Workbook exportPersonalStats(Searchable searchable);

    void exportPersonalStatsPdf(Searchable searchable, OutputStream os);

    /**
     * 整体情况统计
     *
     * @return
     */
    List<Map<String, Object>> summaryStats();

    /**
     * 盘点统计
     *
     * @return
     */
    List<Map<String, Object>> inventoryStats(Searchable searchable);

    /**
     * 导出盘点统计Excel
     *
     * @param searchable
     * @return
     */
    Workbook exportInventoryStats(Searchable searchable);

    void exportInventoryStatsPdf(Searchable searchable, OutputStream os);

}
